define(['module', 'react', './BaseDemo', 'InputNumber', 'Button', 'Spinner', 'TimePicker', "./Tile"], function (module, React, BaseDemo, InputNumber, Button, Spinner, TimePicker, Tile) {
    'use strict';

    function _classCallCheck(instance, Constructor) {
        if (!(instance instanceof Constructor)) {
            throw new TypeError("Cannot call a class as a function");
        }
    }

    var _createClass = function () {
        function defineProperties(target, props) {
            for (var i = 0; i < props.length; i++) {
                var descriptor = props[i];
                descriptor.enumerable = descriptor.enumerable || false;
                descriptor.configurable = true;
                if ("value" in descriptor) descriptor.writable = true;
                Object.defineProperty(target, descriptor.key, descriptor);
            }
        }

        return function (Constructor, protoProps, staticProps) {
            if (protoProps) defineProperties(Constructor.prototype, protoProps);
            if (staticProps) defineProperties(Constructor, staticProps);
            return Constructor;
        };
    }();

    function _possibleConstructorReturn(self, call) {
        if (!self) {
            throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
        }

        return call && (typeof call === "object" || typeof call === "function") ? call : self;
    }

    function _inherits(subClass, superClass) {
        if (typeof superClass !== "function" && superClass !== null) {
            throw new TypeError("Super expression must either be null or a function, not " + typeof superClass);
        }

        subClass.prototype = Object.create(superClass && superClass.prototype, {
            constructor: {
                value: subClass,
                enumerable: false,
                writable: true,
                configurable: true
            }
        });
        if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;
    }

    var Tab1 = React.createClass({
        displayName: 'Tab1',
        render: function render() {
            return React.createElement(
                'span',
                null,
                'Tab1'
            );
        }
    });

    var Tab2 = React.createClass({
        displayName: 'Tab2',
        render: function render() {
            return React.createElement(
                'span',
                null,
                'Tab2'
            );
        }
    });

    var TabPage = function (_BaseDemo) {
        _inherits(TabPage, _BaseDemo);

        function TabPage() {
            _classCallCheck(this, TabPage);

            return _possibleConstructorReturn(this, Object.getPrototypeOf(TabPage).apply(this, arguments));
        }

        _createClass(TabPage, [{
            key: 'render',
            value: function render() {

                return React.createElement(
                    'div',
                    { className: 'container' },
                    React.createElement(
                        Tile,
                        { header: "基本使用方式" },
                        React.createElement(Spinner, null),
                        React.createElement(Spinner, { size: 'small' }),
                        React.createElement(TimePicker, { value: '16:30:30', secondStep: 5, format: 'HH:00' }),
                        React.createElement(InputNumber, null),
                        React.createElement(InputNumber, { min: '0', max: '10', step: '0.1', disabled: true }),
                        React.createElement(InputNumber, { min: '0', value: '100', max: '100',
                            formatter: function formatter(value) {
                                return value + '%';
                            },
                            parser: function parser(value) {
                                return value.replace('%', '');
                            }
                        }),
                        React.createElement(InputNumber, {
                            value: 1000,
                            formatter: function formatter(value) {
                                return '$ ' + value.replace(/\B(?=(\d{3})+(?!\d))/g, ',');
                            },
                            parser: function parser(value) {
                                return value.replace(/\$\s?|(,*)/g, '');
                            }
                        }),
                        React.createElement(InputNumber, { size: 'large' }),
                        React.createElement(InputNumber, { size: 'small', theme: 'primary' }),
                        React.createElement(InputNumber, { size: 'large', theme: 'success' }),
                        React.createElement(InputNumber, { size: 'large', theme: 'warning' }),
                        React.createElement(InputNumber, { size: 'large', theme: 'danger' }),
                        React.createElement(
                            'pre',
                            { className: 'brush: js', ref: 'code1' },
                            '\n\n'
                        )
                    )
                );
            }
        }]);

        return TabPage;
    }(BaseDemo);

    module.exports = TabPage;
});
